// vuex状态管理入口文件
import Vue from 'vue'
import Vuex from 'vuex'

// 导入一个getters
import getters from './getters'

const moduleFn = require.context('./modules', false, /\.js$/i)
const modules = moduleFn.keys().reduce((prev, cur) => {
  let key = cur.match(/\.\/(\w+)\.js$/)[1]
  let value = { ...moduleFn(cur).default, namespaced: true }
  prev[key] = value
  return prev
}, {})

Vue.use(Vuex)

// 核心配置
const store = new Vuex.Store({
  // 全局getters，没有命名空间的限制，读取时方便  快捷方式
  getters,
  // 模块化配置
  modules
})


export default store


